package com.kangye.enterprise.service;

import com.kangye.enterprise.entity.*;
import com.kangye.enterprise.util.ViewJsonObject;
import org.springframework.validation.BindingResult;
import org.springframework.web.multipart.MultipartFile;

import java.sql.Date;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @program: enterprise
 * @description: 轮播图逻辑接口
 * @author: stl
 * @create: 2021-05-27 14:53
 **/
public interface BannerService {

    //热点配置表格展示（李易衡）
    ViewJsonObject<Map<String,Object>> hotspot(Integer page , Integer limit, String demoReload, String deSelect, Circular circular, BindingResult bindingResult, Integer itemsState);

    //取消热门（李易衡）
    Integer cancel(Integer circularId);

    //设置为热门（李易衡）
    Integer setup(Integer circularId);

    //部门表格（李易衡）
    ViewJsonObject<Department> depart(Integer page, Integer limit,String demoReload);

    //修改部门查重（李易衡）
    List<Department> updCompeRepeat(String departmentName);

    //修改部门（李易衡）
    Integer updcompe(String departmentName, Integer departmentId);

    //删除部门（李易衡）
    Integer delcompe(Integer departmentId);

    //添加部门查重（李易衡）
    List<Department> addCompeRepeat(String departmentName);

    //添加部门（李易衡）
    Integer addcompe(String departmentName);

    //级别表格（李易衡）
    ViewJsonObject<Rank> level(Integer page, Integer limit,String demoReload);

    //修改级别查重（李易衡）
    List<Rank> repeat(String rankName);

    //修改级别（李易衡）
    Integer updlevel(String rankName,Integer rankId);

    //删除级别（李易衡）
    Integer dellevel(Integer rankId);

    //添加级别查重（李易衡）
    List<Rank> addrepeat(String rankName);

    //添加级别（李易衡）
    Integer addlevel(String rankName);

    //领域列表（李易衡）
    ViewJsonObject<Domoin> field(Integer page, Integer limit,String demoReload);

    //修改领域查重（李易衡）
    List<Domoin> updFieldrepeat(String domoinName);

    //修改领域（李易衡）
    Integer updfield(String domoinName, Integer domoinId);

    //删除领域（李易衡）
    Integer delfield(Integer domoinId);

    //添加领域查重（李易衡）
    List<Domoin> addFieldRepeat(String domoinName);

    //添加领域（李易衡）
    Integer addfield(String domoinName);

    //综合管理
    //综合管理
    //综合管理
    //综合管理
    //综合管理
    //综合管理

    //通知管理查询（李易衡）
    ViewJsonObject<Map<String,Object>> notman(Integer page, Integer limit,String demoReload,String domoin,String departments,String rank);

    //地区下拉框（李易衡）
    ArrayList<Region> selRe();

    //领域下拉框（李易衡）
    ArrayList<Domoin> selDo();

    //部门下拉框（李易衡）
    ArrayList<Department> selDe();

    //级别下拉框（李易衡）
    ArrayList<Rank> selRa();

    //项目下拉框（李易衡）
    ArrayList<Project> selCi();

    //修改政策查重（李易衡）
    List<Map<String,Object>> updNotmanrepeat(String circularTitle, String circularLabel , String domoinName, String departmentName,String rankName);

    //Integer updNotman(Integer circularId,String circularTitle, String circularLabel, String regionName, String domoinName, String departmentName, String circularContent,String projectName);

    //获取部门id（李易衡）
    Integer selRegion(String regionName);

    //获取领域id（李易衡）
    Integer selDomoin(String domoinName);

    //获取部门id（李易衡）
    Integer seldepartment(String departmentName);

    //获取项目id（李易衡）
    Integer selproject(String projectName);

    //修改通知（李易衡）
    Integer updNotman(Integer circularId, String circularTitle, String circularLabel, Integer circularRegionld, Integer circularDomoinld, Integer circularDepartmentld, String circularContent, Integer circularProjectid,Integer circularRankld);

    //获取级别id（李易衡）
    Integer selrank(String rankName);

    //添加通知（李易衡）
    Integer addNotman(String circularTitle, String circularLabel, Integer circularRegionld, Integer circularDomoinld, Integer circularDepartmentld, String circularContent, Integer circularProjectid, Integer circularRankld,Date time);

    //删除通知（李易衡）
    Integer delnotman(Integer circularId);

    //停用通知（李易衡）
    Integer stopnotman(Integer circularId);

    //政策管理查询（李易衡）
    ViewJsonObject<Map<String, Object>> polman(Integer page, Integer limit,String demoReload,String domoin,String departments,String rank);

    //修改政策查重（李易衡）
    List<Map<String, Object>> updPolmanrepeat(String circularTitle, String circularLabel, String domoinName, String departmentName, String rankName);

    //修改政策（李易衡）
    Integer updPolman(Integer circularId, String circularTitle, String circularLabel, Integer circularDomoinld, Integer circularDepartmentld, String circularContent, Integer circularProjectid,Integer circularRankld);

//    Integer selrank(String rankName);

    //添加政策（李易衡）
    Integer addPolman(String circularTitle, String circularLabel, Integer circularDomoinld, Integer circularDepartmentld, String circularContent, Integer circularProjectid, Integer circularRankld,Date time);

    //删除政策（李易衡）
    Integer delPolman(Integer circularId);

    //停用政策（李易衡）
    Integer stopPolman(Integer circularId);


//    String query(Date userCreateTime, Date userFinishTime, String demoReload);

    //公示管理查询（李易衡）
    ViewJsonObject<Map<String, Object>> pubman(Integer page, Integer limit,String demoReload,String domoin,String departments);

    //修改公式（李易衡）
    Integer updPubman(Integer circularId, String circularTitle, String circularLabel, Integer circularDomoinld, Integer circularDepartmentld, String circularContent, Integer circularProjectid,Integer circularRankld);

//    Integer selrank(String rankName);

    //添加公示（李易衡）
    Integer addPubman(String circularTitle, String circularLabel, Integer circularDomoinld, Integer circularDepartmentld, String circularContent, Integer circularProjectid, Integer circularRankld,Date time);

    //删除公示（李易衡）
    Integer delPubman(Integer circularId);

    //停用公式（李易衡）
    Integer stopPubman(Integer circularId);

    //头条管理查询（李易衡）
    ViewJsonObject<Map<String, Object>> headman(Integer page, Integer limit,String demoReload);

    //头条查询标签（李易衡）
    String selcir(String circularTitle);

    //添加头条（李易衡）
    Integer addHeadman(String circularTitle,String circularLabel,Date time,Integer circularRegionld);

    //标题下拉框（李易衡）
    ArrayList<Circular> selLa(Integer circularSynthesis);

    //头条查询地址（李易衡）
    Integer selcirr(String circularTitle);

    //头条查重（李易衡）
    List<Headline> updHeaRepeat(String circularTitle);

    //修改头条（李易衡）
    Integer updHeadman(String circularTitle, String circularLabel, Integer circularRegionld,Integer headline_id);

    //删除头条（李易衡）
    Integer delHeadman(Integer headlineId);

//    ViewJsonObject<Map<String, Object>> proman(Integer page, Integer limit);

    //精准配列表（李易衡）
    ViewJsonObject<Precise> precise(Integer page, Integer limit,String demoReload);

    //新增精准配查重（李易衡）
    List<Precise> addprerepeat(String preciseType);

    //新增精准配（李易衡）
    Integer addprecise(String preciseType, String preciseOption);

    //删除精准配（李易衡）
    Integer delprecise(Integer preciseId);

    //修改精准配（李易衡）
    Integer updprecise(Integer preciseId, String preciseType, String preciseOption);

    //获取项目表id（李易衡）
    List<Map<String,Object>> proman();

    //项目管理查询（李易衡）
    ViewJsonObject<Map<String, Object>> projman(Integer page, Integer limit, List<Map<String,Object>> list98,String demoReload,String domoin,String departments,String itemsObjname);

    ViewJsonObject<Map<String, Object>> promanSel(Integer page, Integer limit, List<Map<String, Object>> list98, String demoReload, String domoin, String departments, String itemsObjname, Integer itemsState);

    //获取项目管理→添加的地址id（李易衡）
    Integer selRegionId(String regionName);

    //获取项目管理→添加的部门id（李易衡）
    Integer selDepartmentId(String departmentName);

    //获取项目管理→添加的领域id（李易衡）
    Integer selDomoinId(String domoinName);

    //添加项目（李易衡）
    Integer addprojman(String circularTitle, Integer itemsRegionId, Date time, Integer itemDepartmentId, String itemContent, String dtdName, Integer itemObj, Integer itemDomoinId, String itemWay, String itemGold, Integer itemGoMoney, String itemCondition, String itemAsk, String itemAskItem, String itemPolicy, String itemGoide, String itemManage);

    //修改项目（李易衡）
    Integer updprojman(Integer itemId,String circularTitle, Integer itemsRegionId, Date time, Integer itemDepartmentId, String itemContent, String dtdName, Integer itemObj, Integer itemDomoinId, String itemWay, String itemGold, Integer itemGoMoney, String itemCondition, String itemAsk, String itemAskItem, String itemPolicy, String itemGoide, String itemManage);

    //停用项目（李易衡）
    Integer stopprojman(Integer itemId);

    //删除项目（李易衡）
    Integer delprojman(Integer itemId);

    ViewJsonObject<Map<String, Object>> projman2(Integer page, Integer limit, List<Map<String, Object>> list98);

    //申报方向下拉框（李易衡）
    ArrayList<Map<String, Object>> selDtd();

    //包含通知下拉框（李易衡）
    ArrayList<Map<String, Object>> selDte();

    //包含通知下拉框（李易衡）
    ArrayList<Map<String, Object>> selCps();

    //精准配类别下拉框（李易衡）
    ArrayList<Map<String, Object>> selType();

    Integer project(String circularTitle);



    Integer itemId(String circularTitle);

    Integer hsnc(Integer itemId,String ctnCircularName);

    Integer hsnc2(Integer itemId, String cpsCpName);

    Integer hsnc3(Integer itemId, String dtdName);

    Integer hsnc01(Integer itemId, String ctnCircularName);

    Integer hsnc02(Integer itemId, String cpsCpName);

    Integer hsnc03(Integer itemId, String dtdName);

    Integer addproLoge(String username);

    Integer updproLoge(String username);




    //日志
    ViewJsonObject<Map<String, Object>> logman(Integer page, Integer limit,String demoReload);

    Integer loge(String username);

    Integer hotloge(String username);

    Integer upddeLoge(String username);

    Integer deldeLoge(String username);

    Integer adddeLoge(String username);

    Integer addleLoge(String username);

    Integer delleLoge(String username);

    Integer updleLoge(String username);

    Integer updfiLoge(String username);

    Integer delfiLoge(String username);

    Integer addfiLoge(String username);

    Integer addprLoge(String username);

    Integer delprLoge(String username);

    Integer updprLoge(String username);

    Integer updnoLoge(String username);

    Integer addnoLoge(String username);

    Integer delnoLoge(String username);

    Integer stopnoLoge(String username);

    Integer updpoLoge(String username);

    Integer addpoLoge(String username);

    Integer delpoLoge(String username);

    Integer stoppoLoge(String username);

    Integer updpuLoge(String username);

    Integer addpuLoge(String username);

    Integer delpuLoge(String username);

    Integer stoppuLoge(String username);

    Integer addheLoge(String username);

    Integer updheLoge(String username);

    Integer delheLoge(String username);

    Integer stopproLoge(String username);

    Integer delproLoge(String username);

    ViewJsonObject<Map<String,Object>> delLeByIds(List<String> idlist);

    ViewJsonObject<Map<String,Object>> delCoByIds(List<String> idlist);

    ViewJsonObject<Map<String, Object>> delFiByIds(List<String> idlist);

    ViewJsonObject<Map<String, Object>> delPreByIds(List<String> idlist);

    ViewJsonObject<Map<String, Object>> delNotByIds(List<String> idlist);

    ViewJsonObject<Map<String, Object>> delProByIds(List<String> idlist);

    ViewJsonObject<Map<String, Object>> delPubByIds(List<String> idlist);

    ViewJsonObject<Map<String, Object>> delPolByIds(List<String> idlist);

    ViewJsonObject<Map<String, Object>> delHeaByIds(List<String> idlist);


}